﻿#pragma once
#ifndef cfgparsetools_hpp
#define cfgparsetools_hpp


#include<map>
#include<vector>
#include<string>
#include"../../Base/Framework/Device.hpp"
#include"../Framework/AppDefine.hpp"

//前置声明
namespace YAML
{
    class Node;
}

namespace MMF
{
    class CfgParseTools 
    {

    public:

        static std::map<std::string, std::string> ParseKV(const std::string& strKV);
        static std::string PackKV(const std::map<std::string, std::string>& kv);
        static std::vector<MMFDevice> ParseDevice(YAML::Node& deviceNode);
        static std::vector<MMFServerCpt> ParseServerComponent(YAML::Node& deviceNode);
        static std::vector<MMFUnitCpt> ParseUnitComponent(YAML::Node& deviceNode);
    };


}



#endif